// import * as esbuild from './esm/browser.js';
// import { compile } from './esm_modules/vue-inbrowser-compiler/index.js'
// import {
//   build,
//   buildSync,
//   formatMessages,
//   formatMessagesSync,
//   initialize,
//   serve,
//   transform,
//   transformSync,
//   version
// } from './esm/browser.min.js';
// console.log(build);

/*
esbuild.initialize({
  wasmURL: './esbuild.wasm',
  worker: true
}).then(() => {
  let code = 'let xxxx = 1;alert("test");';
  let options = {format: 'iife'};
  esbuild.transform(code, options).then(result => { 
  	console.log('[esbuild:transform] result:', result);
  })
  // esbuild.build(options).then(result => { 
  // 	console.log('[esbuild:build] result:', result);
  // })
});
*/




/**
 * render a component
 */
// function getComponent(code) {
//   const conpiledCode = compile(
//     code,
//     // pass in config options to buble to set up the output
//     {
//       target: { ie: 11 },
//       transforms: { asyncAwait: false },
//       modules: false
//     }
//   )
//   const func = new Function(conpiledCode.script)
//   return func()
// }
// window.getComponent = getComponent;
// console.log(getComponent(`
//     <template>
//       <div class="hello">
//         <h1>Colored Text</h1>
//         <button>{{ msg }}</button>
//       </div>
//     </template>

//     <script>
//       export default {
//         data() {
//           let aaaa = () => {
//             console.log('aa');
//           }
//           return {
//             aaaa,
//             msg: 'Push Me'
//           }
//         },
//         methods: {
//           request () {
//             return new Promise((resolve) => {
//               setTimeout(resolve, 2000);
//             })
//           },
//           async getData () {
//             await request();
//             console.log('getData');
//           }
//         }
//       }
//     </script>

//     <style>
//       .hello {
//         text-align: center;
//         color: #900;
//       }
//     </style>
// `));